3D Graphics Programming with QuickDraw 3D 1.5.4

Previous | QD3D Book | Overview | Chapter Contents | Next

Object Types and Names

QuickDraw 3D adheres to various typing and naming schemes for its object system:

Thus, each unique TQX3ObjectClass of type kQ3ObjectTypeElement has a unique TQ3ElementType . However, each name space is unique only within itself; for example, there can be a TQ3ObjectType and TQ3ElementType that are identical for a particular object. You can even name an object identically to the object type, if you wish. For example, you could register an element class with TQ3ObjectType 'foob' , object name foob , and element type 'foob' .

The public object types in the unextended QuickDraw 3D hierarchy are shown in Listing 5 .

Listing 5 QuickDraw 3D object types

kQ3ObjectTypeInvalid        0
kQ3ObjectTypeView               
kQ3ObjectTypeElement        
    kQ3ElementTypeAttribute 
kQ3ObjectTypePick               
    kQ3PickTypeWindowPoint  
    kQ3PickTypeWindowRect   
kQ3ObjectTypeShared             
    kQ3SharedTypeRenderer   
        kQ3RendererTypeWireFrame
        kQ3RendererTypeGeneric
        kQ3RendererTypeInteractive
    kQ3SharedTypeShape          
        kQ3ShapeTypeGeometry
            kQ3GeometryTypeBox  
            kQ3GeometryTypeGeneralPolygon
            kQ3GeometryTypeLine 
            kQ3GeometryTypeMarker
            kQ3GeometryTypePixmapMarker
            kQ3GeometryTypeMesh 
            kQ3GeometryTypeNURBCurve
            kQ3GeometryTypeNURBPatch
            kQ3GeometryTypePoint
            kQ3GeometryTypePolygon
            kQ3GeometryTypePolyLine
            kQ3GeometryTypeTriangle
            kQ3GeometryTypeTriGrid
            kQ3GeometryTypeCone 
            kQ3GeometryTypeCylinder
            kQ3GeometryTypeDisk 
            kQ3GeometryTypeEllipse
            kQ3GeometryTypeEllipsoid
            kQ3GeometryTypePolyhedron
            kQ3GeometryTypeTorus
            kQ3GeometryTypeTriMesh
        kQ3ShapeTypeShader      
            kQ3ShaderTypeSurface
                kQ3SurfaceShaderTypeTexture
            kQ3ShaderTypeIllumination
                kQ3IlluminationTypePhong
                kQ3IlluminationTypeLambert
                kQ3IlluminationTypeNULL
        kQ3ShapeTypeStyle       
            kQ3StyleTypeBackfacing
            kQ3StyleTypeInterpolation
            kQ3StyleTypeFill    
            kQ3StyleTypePickID  
            kQ3StyleTypeReceiveShadows
            kQ3StyleTypeHighlight
            kQ3StyleTypeSubdivision
            kQ3StyleTypeOrientation
            kQ3StyleTypePickParts
            kQ3StyleTypeZCompare
            kQ3StyleTypeAntiAlias
        kQ3ShapeTypeTransform
            kQ3TransformTypeMatrix
            kQ3TransformTypeScale
            kQ3TransformTypeTranslate
            kQ3TransformTypeRotate
            kQ3TransformTypeRotateAboutPoint
            kQ3TransformTypeRotateAboutAxis
            kQ3TransformTypeQuaternion
            kQ3TransformTypeReset
        kQ3ShapeTypeLight       
            kQ3LightTypeAmbient 
            kQ3LightTypeDirectional
            kQ3LightTypePoint   
            kQ3LightTypeSpot    
        kQ3ShapeTypeCamera      
            kQ3CameraTypeOrthographic
            kQ3CameraTypeViewPlane
            kQ3CameraTypeViewAngleAspect
        kQ3ShapeTypeGroup           
            kQ3GroupTypeDisplay     
                kQ3DisplayGroupTypeOrdered
                kQ3DisplayGroupTypeIOProxy
            kQ3GroupTypeLight       
            kQ3GroupTypeInfo        
        kQ3ShapeTypeUnknown     
            kQ3UnknownTypeText  
            kQ3UnknownTypeBinary
        kQ3ShapeTypeReference
    kQ3SharedTypeSet            
        kQ3SetTypeAttribute     
    kQ3SharedTypeDrawContext
        kQ3DrawContextTypePixmap
        kQ3DrawContextTypeMacintosh
        kQ3DrawContextTypeWin32DC
        kQ3DrawContextTypeDDSurface
    kQ3SharedTypeTexture    
        kQ3TextureTypePixmap
        kQ3TextureTypeMipmap
    kQ3SharedTypeFile           
    kQ3SharedTypeStorage    
        kQ3StorageTypeMemory
            kQ3MemoryStorageTypeHandle
        kQ3StorageTypeUnix      
            kQ3UnixStorageTypePath
        kQ3StorageTypeMacintosh
            kQ3MacintoshStorageTypeFSSpec
    kQ3SharedTypeString         
        kQ3StringTypeCString
    kQ3SharedTypeShapePart  
        kQ3ShapePartTypeMeshPart
            kQ3MeshPartTypeMeshFacePart
            kQ3MeshPartTypeMeshEdgePart
            kQ3MeshPartTypeMeshVertexPart
    kQ3SharedTypeControllerState
    kQ3SharedTypeTracker    
    kQ3SharedTypeViewHints  
kQ3ObjectTypeEndGroup

© 1997 Apple Computer, Inc.

Previous | QD3D Book | Overview | Chapter Contents | Next